package com.example.csmall.product.service;

import com.example.csmall.product.pojo.dto.AlbumAddNewDTO;
import com.example.csmall.product.pojo.dto.AlbumUpdateDTO;
import com.example.csmall.product.pojo.vo.AlbumListItemVO;
import com.example.csmall.product.pojo.vo.AlbumStandardVO;

import java.util.List;

public interface AlbumService {

    /**
     * 添加一条新记录
     * @param albumAddNewDTO
     */
    void addNew(AlbumAddNewDTO albumAddNewDTO);

    /**
     * 根据Id删除数据
     * @param id
     */
    void deleteById(Long id);

    /**
     * 根据id修改表中数据
     * @param id 修改那行数据，id这个属性其实也可以在DTO当中，但是为了更加符合我们的思想，我们应该使用参数作为接收
     * @param albumUpdateDTO 具体的内容
     */
    void updateInfoById(Long id,AlbumUpdateDTO albumUpdateDTO);

    /**
     * 根据id查询相册数据详情
     * @param id 传递过来的数据
     * @return 返回相册数据的详情，此处如果没有返回项则抛出异常
     */
    AlbumStandardVO getStandardById(Long id);

    /**
     * 查询数据列表
     * @return list集合为表中全部记录，类型为AlbumListItemVO
     */
    List<AlbumListItemVO> list();



}
